package com.example.j280_webproject.userConsole.service;

import com.example.j280_webproject.userConsole.jdbc.BaseJDBC;
import com.example.j280_webproject.userConsole.jdbc.UserJDBC;
import com.example.j280_webproject.userConsole.pojo.User;
import org.json.JSONObject;

import java.sql.Connection;
import java.sql.SQLException;

public class LoginService {
    /**
     * 用户登录，通过唯一用户名查询用户数据，再比对密码是否相同
     *
     * @param username      用户名
     * @param password      用户密码
     * @return              返回一个JSONObject对象
     */
    public JSONObject loginUser(String username, String password){
        Connection connection = BaseJDBC.createConnection();
        UserJDBC userJDBC = new UserJDBC();
        JSONObject jsonObject = new JSONObject();
        try {
            User user = userJDBC.loginUser(connection, username);
            if (user != null){                                       // 返回的user对象不为null则用户名存在，继续执行代码
                if (user.getPassword().equals(password)){            // equals比较两个password是否相同，如果相同为true执行if里面的语句块
                    jsonObject.put("code",200);
                    jsonObject.put("msg","恭喜您登录成功!");
                    jsonObject.put("user",user);
                    return jsonObject;
                }
            }
            jsonObject.put("code", 306);
            jsonObject.put("msg", "用户名或密码错误");                //如果password不相同返回用户名或密码错误
        } catch (SQLException e) {
            e.printStackTrace();
            jsonObject.put("code",505);
            jsonObject.put("msg","登录失败！");
        }
        return jsonObject;
    }
}
